#include <iostream>
using namespace std;

typedef long long LL;
const int N = 1e5 + 10;
LL l, r, k;
LL f[N], a;
int n, m;

int main()
{
    cin >> n >> m;
    for(int i = 1; i <= n; i++)
    {
        cin >> a;
        // 利用差分数组的性质存储
        f[i] += a;
        f[i + 1] -= a;
    }
    while(m--)
    {
        cin >> l >> r >> k;
        // 差分数组用于“[l, r]区间内的每一个数都加上一个k”
        f[l] += k;
        f[r + 1] -= k;
    }
    // 差分数组给出结果时，必须等全部操作完成后才可以进行
    for(int i = 1; i <= n; i++)
    {
        f[i] += f[i - 1];
        cout << f[i] << " ";
    }
    return 0;
}